<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>计算属性的缓存特性</title>
</head>
<body>
<div id="app">
  <!--1、普通方式-->
  <!--<h2>{{firstName}} {{lastName}}</h2>-->

  <!--2、methods方式-->
  <!--<h2>{{getFullName()}}</h2>
  <h2>{{getFullName()}}</h2>
  <h2>{{getFullName()}}</h2>
  <h2>{{getFullName()}}</h2>-->

  <!--3、computed计算属性-->
  <h2>{{fullName}}</h2>
  <h2>{{fullName}}</h2>
  <h2>{{fullName}}</h2>
  <h2>{{fullName}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      firstName: 'Kobe',
      lastName: 'Bryant'
    },
    // 计算属性和methods的结果分别在界面下显示4次，console结果显示，computed只调用了一次，methods调用了四次
    // 结论：计算属性computed有缓存，性能更好，效率更高
    computed: {
      fullName: function () {
        console.log('fullName');
        return this.firstName + ' ' + this.lastName;
      }
    },
    methods: {
      getFullName: function () {
        console.log('getFullName');
        return this.firstName + ' ' + this.lastName;
      }
    }
  });
</script>
</body>
</html>
